﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media.Media3D;

namespace GeometryViz3D.Model
{
    public class G3DPoint : G3DElement
    {
        public Point3D Position
        {
            get;
            set;
        }

        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;

            G3DPoint p = obj as G3DPoint;
            if (p == null)
                return false;

            return this.Label == p.Label;
        }

        public override int GetHashCode()
        {
            return this.Label.GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0} ({1}, {2}, {3})", Label, 
                Position.X, Position.Y, Position.Z);
        }
    }
}
